In the “Big Data” era, many applications, such as those relating to e-commerce, social networking, and online services, for example, utilize huge graphs that grow quickly. In many cases, such applications must process millions to billions of new events each day. For example, on average, 560 million tweets are generated per day on Twitter, and 4.5 billion “likes” are generated per day on Facebook. As another example, Amazon sold 28.2 million items per day during the 2013 Christmas season. New events generate new relationships, such as user to product relationships, friend relationships, and user to ads relationships. Applications use the relationship data underlying these new relationships for a variety of purposes. For example, such relationship data may be used to make smart business decisions or provide fast and accurate recommendations to users.
In order for applications to be able to use such relationship data, the data are processed to create large graphs using graph analytics. Such graphs consist of large numbers of vertices and edges. The vertices are nodes representing, for example, different users, while the edges are lines representing the relationship data that connect different users to each other. In the Big Data era, these graphs grow very quickly as the amount of data increases. However, current techniques for processing these types of graphs generally relate to static graphs with a fixed number of vertices and edges. Current techniques do not provide an efficient way to update such graphs as new vertices and edges are added to the graphs over time.
The same numbers are used throughout the disclosure and the figures to reference like components and features. Numbers in the 100 series refer to features originally found in FIG. 1; numbers in the 200 series refer to features originally found in FIG. 2; and so on.